package com.enjoyor.soa.traffic.restt.tpcms.dubbo;

import com.enjoyor.soa.traffic.util.pojo.Page;
import com.enjoyor.soa.traffic.util.pojo.ResultPojo;

public interface IPassCardConsumeService {

    /**
     * 删除通行证
     * 
     * @param passCardId
     *            通行证编号
     * @param userName
     *            操作用户
     */
    public ResultPojo deletePassCard(String passCardId, String userName);

    /**
     * 通行证延期
     * 
     * @param passCardId
     *            通行证编号
     * @param extensionPeople
     *            延期申请人
     * @param isSelf
     *            是否本人
     * @param extensionDays
     *            延期天数
     * @param userName
     *            操作用户
     */
    public ResultPojo extensionPassCard(String passCardId, String extensionPeople, String isSelf, String extensionDays,
            String userName);

    /**
     * 通行证打印
     * 
     * @param passCardId
     *            通行证编号
     * @param passStatusId
     *            通行证状态编号
     * @param userName
     *            操作用户
     */
    public ResultPojo printPassCard(String passCardId, String userName);

    /**
     * 查询通行证列表信息List
     * 
     * @param passCardId
     *            通行证编号
     * @param passApplyId
     *            申请编号
     * @param effectStartTime
     *            有效开始时间(yyyy-mm-dd)
     * @param effectEndTime
     *            有效结束时间(yyyy-mm-dd)
     * @param passStatusId
     *            通行证状态编号
     * @return
     */
    public ResultPojo getPassCardList(String passCardId, String passApplyId, String effectStartTime,
            String effectEndTime, String passStatusId);

    /**
     * 查询当年通行证最大编号
     */
    public String getMaxPassCardId();

    /**
     * 查询通行证分页信息
     * 
     * @param page
     *            分页参数
     * @return
     */
    @SuppressWarnings("rawtypes")
    public ResultPojo getPassCardPage(Page page);

}
